﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JshRCSWebApi.Infrastructure.Domain.VO.SysVehicle.VehicleState
{
    public class robot_status_task_status_package_VO:ResponseVO
    {
        public Task_status_package task_status_package { get; set; }
    }
    public class Task_status_list
    {
        /// <summary>
        /// 任务状态
        ///StatusNone = 0
        ///Waiting = 1
        ///Running = 2
        ///Suspended = 3
        ///Completed = 4
        ///Failed = 5
        ///Canceled = 6
        ///OverTime = 7
        ///NotFound = 404
        /// </summary>
        public int status { get; set; }
        /// <summary>
        /// 任务 id
        /// </summary>
        public string task_id { get; set; }
        /// <summary>
        /// 任务类型
        /// </summary>
        public int type { get; set; }
    }

    public class Task_status_package
    {
        /// <summary>
        /// 一定直线距离内（该距离是rbk内的一个参数），离机器人最近的站点。可能为空串，表示机器人周围没有站点
        /// </summary>
        public string closest_target { get; set; }
        /// <summary>
        /// 机器人 到 “当前正执行的导航任务所对应的路径” 的投影距离
        /// </summary>
        public double distance { get; set; }
        /// <summary>
        /// 机器人在导航过程中，对使用者的一些提示，可以将其输出到前台。该字段不参与实际的逻辑判断
        /// </summary>
        public string info { get; set; }
        /// <summary>
        /// 机器人当前正执行的导航任务中，对于相应的路径，机器人已经走完的部分，占整条路径的比例
        /// </summary>
        public double percentage { get; set; }
        /// <summary>
        /// 机器人当前正执行的导航任务中的 "source_id"
        /// </summary>
        public string source_name { get; set; }
        /// <summary>
        /// 机器人当前正执行的导航任务中的 "id"
        /// </summary>
        public string target_name { get; set; }
        /// <summary>
        /// 任务状态列表
        /// </summary>
        public List<Task_status_list> task_status_list { get; set; }
    }
}
